home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 19 / CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso / CUCD / Readers / Gui4Cli / Tools / Rtn / ViewFile < prev   
Text File  |  1997-12-02  |  3KB  |  137 lines

  1. G4C  
  2.  
  3. ; ViewFile FileName FileType Mode
  4.  
  5. ; FileName = the File Name
  6. ; FileType = the File Type, as returned from the GetFileType routine
  7. ; Mode     = (optional) CLI or RUN (RUN is default)
  8.  
  9. ; ======================================================================
  10.  
  11. xONLOAD filename filetype mode
  12. guiopen viewfile $filename $filetype $mode
  13.  
  14. xONRELOAD filename filetype mode
  15. guiopen viewfile $filename $filetype $mode
  16.  
  17. xONOPEN filename filetype mode
  18.  
  19. if $filename = ''
  20. or $filetype = ''
  21.    return
  22. endif
  23.  
  24. docase $filetype
  25.  
  26. ; ----- do special cases first.
  27.  
  28. case   = TEXT                          ; a text file (probably)
  29.        GuiLoad guis:tools/read.gc $viewfile/filename
  30.        return
  31.        break
  32.  
  33. case   = INFO                ; icons
  34.        cutvar filename cut char -5 ''
  35.        guiload guis:tools/icon.gc $viewfile/filename
  36.        return
  37.        break
  38.  
  39. case   = G4C                ; Yes.. you guessed it.
  40.        GuiLoad $filename
  41.        return
  42.        break
  43.  
  44. case   = LHA                ; LhA - all these are CLI'ied
  45.        cli 'Lha x $filename ram:'
  46.        return
  47.        break
  48.  
  49. case   = LZX            ; LZX
  50.        cli 'LZX x $filename ram:'
  51.        return
  52.        break
  53.  
  54. case   = ZIP                ; unzip
  55.        cli '$*DEF.UNZIP $filename -d ram:'
  56.        return
  57.        break
  58.  
  59. case   = EXE                ; A program ? - Use cli.gc to run it.
  60.        GuiLoad guis:tools/cli.gc $viewfile/filename RUN
  61.        return
  62.        break
  63.  
  64. case   = UNKNOWN
  65.        ; gui to deal with it..
  66.        guiopen ViewFile2
  67.        return
  68.        break
  69.  
  70. endcase
  71.  
  72. ; If we got this far, then it's one of the simple types such as
  73. ; GIF or ILBM etc - We just contruct & issue the command to run it.
  74.  
  75. com = '\$*DEF.$filetype'       ; construct command name
  76. if $mode == CLI
  77.    CLI '$com $filename'     
  78. else
  79.    RUN '$com $filename'     
  80. endif
  81.  
  82.  
  83. ; routine ends here.
  84.  
  85. xOnQuit
  86. guiquit ViewFile2
  87.  
  88.  
  89. ; ######################################################################
  90.  
  91.     NEWFILE Viewfile2     ; last chance gui
  92.  
  93. ; ######################################################################
  94.  
  95. WinBig 0 0 80 75 ""
  96. WinType 00001000
  97. winonmouse 40 10
  98. varpath viewfile    ; merge variables with the above file
  99.  
  100. xOnRMB 
  101. guiclose ViewFile2
  102.  
  103. xOnInactive
  104. guiclose ViewFile2
  105.  
  106. xOnFail
  107. ezreq "Error during operation" OK ""
  108.  
  109. ;---------------> the Buttons
  110.  
  111. xbutton 0 0 0 15 MView
  112. guiclose ViewFile2
  113. run 'multiview $filename screen'
  114.  
  115. xbutton 0 15 0 15 List
  116. GuiLoad  guis:tools/read.gc $viewfile/filename
  117.  
  118. xbutton 0 30 0 15 Run
  119. guiclose ViewFile2
  120. run '$filename'
  121.  
  122. xbutton 0 45 0 15 With..
  123. guiclose ViewFile2
  124. prog = ''
  125. ReqFile  -1 -1 300 220 'Run file with..' LOAD prog hd1:Players
  126. if $prog > ''
  127.    run '$prog $filename'
  128. endif
  129.  
  130. xbutton 0 60 0 15 'CliGui'
  131. guiclose ViewFile2
  132. setvar cl_Main '$filename '
  133. GuiLoad guis:tools/cli.gc $viewfile/filename CLI
  134. setgad cli.gc 1 ON
  135.  
  136.  
  137.